package com.wish.housing.entity;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;
import java.time.LocalDateTime;
import java.util.Date;

import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Getter;
import lombok.Setter;
import org.springframework.format.annotation.DateTimeFormat;

/**
 * <p>
 * 王泓翔-房间详细信息表	！房态-杨子强
 * </p>
 *
 * @author benjamin
 * @since 2022-03-28
 */
@Getter
@Setter
@TableName("tb_room_info")
public class RoomInfo implements Serializable {

    private static final long serialVersionUID = 1L;

    private String id;

    private String houseId;

    /**
     * 封面
     */
    private String frontCover;

    private String roomName;

    private String roomCode;

    private Double proportion;

    private Integer direction;

    private Double rental;

    private String decorateStyle;

    private String buildingName;

    private Integer floor;

    /**
     * 集中式房源楼层总数
     */
    private Integer floorCount;

    private Integer status;

    private String privateFacility;

    /**
     * 推荐房源1.推荐 2.不推荐
     */
    private Integer recommended;

    private Integer reserve1;

    private Integer reserve2;

    private String reserve3;

    private String reserve4;

    private String reserve5;

    private Integer deptId;

    @TableField(fill = FieldFill.INSERT)
    @DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    private String styleId;

    /**
     * 装修时间
     */
    private LocalDateTime finishDate;

    /**
     * 空置时间
     */
    private LocalDateTime vacancyDate;

    /**
     * 删除标识。0:未删除，1：删除
     */
    private Boolean delFlg;

    private LocalDateTime updateTime;

    @TableField(exist = false)
    private String rtenantName;

    @TableField(exist = false)
    private Integer freeTime;

    @TableField(exist = false)
    private String contractNo;

    @TableField(exist = false)
    private String tenantName;

    @TableField(exist = false)
    private String tenantPhone;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date startDate;

    @TableField(exist = false)
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date endDate;

    @TableField(exist = false)
    private Integer depositType;

    @TableField(exist = false)
    private Integer paymentType;

    @TableField(exist = false)
    private Integer rentfq;

    @TableField(exist = false)
    private Integer zybl;

    @TableField(exist = false)
    private Integer contractId;

}
